package com.agri.controller;

import com.agri.dto.CropQueryDTO;
import com.agri.result.Result;
import com.agri.service.CropService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 农产品控制器
 * 提供农产品信息的CRUD操作和查询接口
 *
 * @author Agri-Fin-Sale Team
 * @since 2025-11-05
 */
@RestController
@RequestMapping("/crop")
public class CropController {
    @Autowired
    private CropService cropService;

    /**
     * 查询农产品列表
     * 支持按名称、分类、状态等条件筛选
     */
    @GetMapping("/list")
    public Result<?> list(CropQueryDTO queryDTO) {
        return cropService.listCrops(queryDTO);
    }

    /**
     * 根据ID获取农产品详情
     */
    @GetMapping("/{id}")
    public Result<?> getById(@PathVariable Long id) {
        return cropService.getCropById(id);
    }

    /**
     * 根据分类ID查询农产品
     */
    @GetMapping("/category/{categoryId}")
    public Result<?> getByCategory(@PathVariable Long categoryId) {
        return cropService.getCropsByCategory(categoryId);
    }

    /**
     * 搜索农产品
     */
    @GetMapping("/search")
    public Result<?> search(@RequestParam String keyword) {
        return cropService.searchCrops(keyword);
    }
}